/**
 *====================================================
 * 文件名称: FinanceTaskApplyInfo.java
 * 修订记录：
 * No    日期				作者(操作:具体内容)
 * 1.    2015年9月24日			chenxy(创建:创建文件)
 *====================================================
 * 类描述：(说明未实现或其它不应生成javadoc的内容)
 */
package com.yuexunit.finance.project.action.v1.model.output;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;

import com.yuexunit.finance.project.action.v1.model.FinanceBulkstock;
import com.yuexunit.web.annotation.Parameter;

/**
 * @ClassName: FinanceTaskLoanInfo
 * @Description: TODO 金融流程放款审批APP界面数据
 * @author: NTBK-021-1010
 * @date: 2016年10月31日 下午2:45:50
 */
public class FinanceTaskApplyInfo {
	
	/***平台保险信息**/
	
	@Parameter(name = "insurance", description = "保险 0:无/1:有")
	private Integer insurance;
	
	@Parameter(name = "insuranceAmount", description = "保险信息-保费")
	private BigDecimal insuranceAmount;

	@Parameter(name = "forceAmount", description = "保险信息-保额")
	private BigDecimal forceAmount;
	
	@Parameter(name = "insuranceType", description = "保险信息-险种")
	private String insuranceType;

	@Parameter(name = "insuranceNumber", description = "保险信息-保险单号")
	private String insuranceNumber;

	@Parameter(name = "insurer", description = "保险信息-保险公司")
	private String insurer;
	
	/**产品信息**/
	@Parameter(name = "productType", description = "业务类型 1-舱单代采 2-舱单质押 3-仓储质押 4-保理融资 5-代理采购 6-代理销售")
	private Integer productType;
	
	@Parameter(name = "intrerst", description = "费率")
	private BigDecimal intrerst;

	@Parameter(name = "cycle", description = "周期")
	private Integer cycle;
	
	@Parameter(name = "bailRate", description = "保证金比率")
	private BigDecimal bailRate;
	
	@Parameter(name = "distrain", description = "赎货预留天数")
	private Integer distrain;
	
	@Parameter(name = "financeProductInnerDetail", description = "融资产品信息-展示")
	private FinanceProductInnerDetail financeProductInnerDetail;
	
	/**评估价格信息**/
	@Parameter(name = "bulkstockId", description = "﻿融资货物-融资货物ID")
	private Long[] bulkstockIds;

	@Parameter(name = "evaluatePrice", description = "﻿融资货物-评审估值单价")
	private BigDecimal[] evaluatePrice;

	@Parameter(name = "lowestPrice", description = "﻿融资货物-最低价格")
	private BigDecimal[] lowestPrice;

	@Parameter(name = "highestPrice", description = "﻿融资货物-最高价格")
	private BigDecimal[] highestPrice;
	
	@Parameter(name = "finalPrice", description = "﻿融资货物-最终确认值")
	private BigDecimal[] finalPrice;
	
	/****计息信息集合****/
	@Parameter(name = "financeProductInterestItemId", description = "计息项ID")
	private Long[] financeProductInterestItemId;
	
	@Parameter(name = "financeProductInterestItemName", description = "计息项名称")
	private String[] financeProductInterestItemName;
	
	@Parameter(name = "billingType", description = "计费方式 0:未知/1:固定/2:按日")
	private Integer[] billingType;
	
	@Parameter(name = "interestRate", description = "日利率")
	private BigDecimal[] interestRate;
	
	@Parameter(name = "startDay", description = "起始天数")
	private Integer[] startDay;
	
	@Parameter(name = "endDay", description = "截止天数")
	private Integer[] endDay;
	
	/**年化率:  产品费率*/
	@Parameter(name = "interest", description = "利率")
	private BigDecimal auditInterest;
	
	//------------------
	
	@Parameter(name = "FINANCE_ID", description = "融资信息ID")
	private Long financeId;
	
	@Parameter(name = "enterpriseId", description = "融资企业ID")
	private Long enterpriseId;

	@Parameter(name = "enterpriseName", description = "﻿融资企业")
	private String enterpriseName;
	
	/** 授信额度 */
	@Column(name = "CREDIT_QUOTA")
	private BigDecimal creditQuota;
	
	/** 授信使用额度 */
	@Column(name = "CREDIT_QUOTA_CONSUME")
	private BigDecimal creditQuotaConsume;
	
	/** 申请金额 */
	@Column(name = "APPLICATION_AMOUNT")
	private BigDecimal applicationAmount;
	
	/**保证金: 转换成保证金成 */
	@Parameter(name = "bail", description = "保证金")
	private BigDecimal bail;
	
	/**批复金额: 审核金额 |允许融资额度  */
	@Column(name = "FINANCE_AMOUNT")
	private BigDecimal financeAmount;
	
	/**年化率:  产品费率*/
	@Parameter(name = "interest", description = "利率")
	private BigDecimal interest;
	
	/**期限:  融资天数*/
	@Parameter(name = "financeDays", description = "融资天数")
	private Integer financeDays;
	
	/**质押率:  允许融资额度(审核金额 financeAmount)/货物估值总额(货物估值单价 evaluateValuation总和) 	*/
	@Parameter(name = "pledgeRate", description = "质押率")
	private BigDecimal pledgeRate;
	
	@Parameter(name = "financeNumber", description = "融资信息编号")
	private String financeNumber;
	
	@Parameter(name = "auditNumber", description = "评审表编号")
	private String auditNumber;
	
	@Parameter(name = "bulkstockCategoryId", description = "大宗商品类别ID")
	private Long bulkstockCategoryId;
	
	@Parameter(name = "bulkstockCategory", description = "大宗商品类别名称")
	private String bulkstockCategory;
	
	@Parameter(name = "bulkstocks", description = "融资货物信息列表")
	private List<FinanceBulkstock> bulkstocks = new ArrayList<FinanceBulkstock>();
	
	/**审核信息表**/
	@Parameter(name = "openQuota", description = "敞口额度")
	private BigDecimal openQuota;

	@Parameter(name = "superviseCharge", description = "监管收费标准")
	private String superviseCharge;
	
	@Parameter(name = "estimateCost", description = "预计监管成本")
	private BigDecimal estimateCost;


	@Parameter(name = "estimateIncome", description = "预计监管费收入")
	private BigDecimal estimateIncome;
	
	@Parameter(name = "estimateProfit", description = "预计利润")
	private BigDecimal estimateProfit;
	
//	@Parameter(name = "containerBills", description = "订舱箱信息")
//	private List<FinanceContainerBill> containerBills = new ArrayList<>();
	
	@Parameter(name = "finalState", description = "流程节点信息")
	private Long finalState;
	
	@Parameter(name = "financeAuditId", description = "融资申请审核ID")
	private  Long financeAuditId;
	
	@Parameter(name = "deliverProvince", description = "发货省份")
	private String deliverProvince;

	@Parameter(name = "deliverCity", description = "发货城市")
	private String deliverCity;

	@Parameter(name = "deliverDistrict", description = "发货区县")
	private String deliverDistrict;

	@Parameter(name = "deliverAddress", description = "发货地")
	private String deliverAddress;

	@Parameter(name = "deliverContactor", description = "发获联系人")
	private String deliverContactor;

	@Parameter(name = "deliverContactPhone", description = "发货联系人电话")
	private String deliverContactPhone;

	@Parameter(name = "receiveProvince", description = "收货省份")
	private String receiveProvince;

	@Parameter(name = "receiveCity", description = "收货城市")
	private String receiveCity;

	@Parameter(name = "receiveDistrict", description = "收货区县")
	private String receiveDistrict;

	@Parameter(name = "receiveAddress", description = "收货地")
	private String receiveAddress;

	@Parameter(name = "receive", description = "收货方")
	private String receive;
	
	@Parameter(name = "deliver", description = "发货方")
	private String deliver;

	@Parameter(name = "receiveContactor", description = "收货联系人")
	private String receiveContactor;

	@Parameter(name = "receiveContactPhone", description = "收货联系人电话")
	private String receiveContactPhone;

	@Parameter(name = "packingDemand", description = "包装要求")
	private String packingDemand;

	@Parameter(name = "markDemand", description = "标记要求")
	private String markDemand;

	@Parameter(name = "storeDemand", description = "储存条件")
	private String storeDemand;

	@Parameter(name = "safekeep", description = "保管要求")
	private String safekeep;
	
	@Parameter(name = "settlementMethod", description = "结算方式 1:先货后款 2:先款后货")
	private Integer settlementMethod;

	public BigDecimal[] getFinalPrice() {
		return finalPrice;
	}

	public void setFinalPrice(BigDecimal[] finalPrice) {
		this.finalPrice = finalPrice;
	}

	public Integer getSettlementMethod() {
		return settlementMethod;
	}

	public void setSettlementMethod(Integer settlementMethod) {
		this.settlementMethod = settlementMethod;
	}

	public String getDeliverProvince() {
		return deliverProvince;
	}

	public void setDeliverProvince(String deliverProvince) {
		this.deliverProvince = deliverProvince;
	}

	public String getDeliverCity() {
		return deliverCity;
	}

	public void setDeliverCity(String deliverCity) {
		this.deliverCity = deliverCity;
	}

	public String getDeliverDistrict() {
		return deliverDistrict;
	}

	public void setDeliverDistrict(String deliverDistrict) {
		this.deliverDistrict = deliverDistrict;
	}

	public String getDeliverAddress() {
		return deliverAddress;
	}

	public void setDeliverAddress(String deliverAddress) {
		this.deliverAddress = deliverAddress;
	}

	public String getDeliverContactor() {
		return deliverContactor;
	}

	public void setDeliverContactor(String deliverContactor) {
		this.deliverContactor = deliverContactor;
	}

	public String getDeliverContactPhone() {
		return deliverContactPhone;
	}

	public void setDeliverContactPhone(String deliverContactPhone) {
		this.deliverContactPhone = deliverContactPhone;
	}

	public String getReceiveProvince() {
		return receiveProvince;
	}

	public void setReceiveProvince(String receiveProvince) {
		this.receiveProvince = receiveProvince;
	}

	public String getReceiveCity() {
		return receiveCity;
	}

	public void setReceiveCity(String receiveCity) {
		this.receiveCity = receiveCity;
	}

	public String getReceiveDistrict() {
		return receiveDistrict;
	}

	public void setReceiveDistrict(String receiveDistrict) {
		this.receiveDistrict = receiveDistrict;
	}

	public String getReceiveAddress() {
		return receiveAddress;
	}

	public void setReceiveAddress(String receiveAddress) {
		this.receiveAddress = receiveAddress;
	}

	public String getReceive() {
		return receive;
	}

	public void setReceive(String receive) {
		this.receive = receive;
	}

	public String getDeliver() {
		return deliver;
	}

	public void setDeliver(String deliver) {
		this.deliver = deliver;
	}

	public String getReceiveContactor() {
		return receiveContactor;
	}

	public void setReceiveContactor(String receiveContactor) {
		this.receiveContactor = receiveContactor;
	}

	public String getReceiveContactPhone() {
		return receiveContactPhone;
	}

	public void setReceiveContactPhone(String receiveContactPhone) {
		this.receiveContactPhone = receiveContactPhone;
	}

	public String getPackingDemand() {
		return packingDemand;
	}

	public void setPackingDemand(String packingDemand) {
		this.packingDemand = packingDemand;
	}

	public String getMarkDemand() {
		return markDemand;
	}

	public void setMarkDemand(String markDemand) {
		this.markDemand = markDemand;
	}

	public String getStoreDemand() {
		return storeDemand;
	}

	public void setStoreDemand(String storeDemand) {
		this.storeDemand = storeDemand;
	}

	public String getSafekeep() {
		return safekeep;
	}

	public void setSafekeep(String safekeep) {
		this.safekeep = safekeep;
	}

	public FinanceProductInnerDetail getFinanceProductInnerDetail() {
		return financeProductInnerDetail;
	}

	public void setFinanceProductInnerDetail(
			FinanceProductInnerDetail financeProductInnerDetail) {
		this.financeProductInnerDetail = financeProductInnerDetail;
	}

	public Long getFinanceAuditId() {
		return financeAuditId;
	}

	public void setFinanceAuditId(Long financeAuditId) {
		this.financeAuditId = financeAuditId;
	}

	public Integer getInsurance() {
		return insurance;
	}

	public void setInsurance(Integer insurance) {
		this.insurance = insurance;
	}

	public BigDecimal getInsuranceAmount() {
		return insuranceAmount;
	}

	public void setInsuranceAmount(BigDecimal insuranceAmount) {
		this.insuranceAmount = insuranceAmount;
	}

	public BigDecimal getForceAmount() {
		return forceAmount;
	}

	public void setForceAmount(BigDecimal forceAmount) {
		this.forceAmount = forceAmount;
	}

	public String getInsuranceType() {
		return insuranceType;
	}

	public void setInsuranceType(String insuranceType) {
		this.insuranceType = insuranceType;
	}

	public String getInsuranceNumber() {
		return insuranceNumber;
	}

	public void setInsuranceNumber(String insuranceNumber) {
		this.insuranceNumber = insuranceNumber;
	}

	public String getInsurer() {
		return insurer;
	}

	public void setInsurer(String insurer) {
		this.insurer = insurer;
	}

	public Integer getProductType() {
		return productType;
	}

	public void setProductType(Integer productType) {
		this.productType = productType;
	}

	public BigDecimal getIntrerst() {
		return intrerst;
	}

	public void setIntrerst(BigDecimal intrerst) {
		this.intrerst = intrerst;
	}

	public Integer getCycle() {
		return cycle;
	}

	public void setCycle(Integer cycle) {
		this.cycle = cycle;
	}

	public BigDecimal getBailRate() {
		return bailRate;
	}

	public void setBailRate(BigDecimal bailRate) {
		this.bailRate = bailRate;
	}

	public Integer getDistrain() {
		return distrain;
	}

	public void setDistrain(Integer distrain) {
		this.distrain = distrain;
	}

	public BigDecimal getAuditInterest() {
		return auditInterest;
	}

	public void setAuditInterest(BigDecimal auditInterest) {
		this.auditInterest = auditInterest;
	}

	public Long getFinalState() {
		return finalState;
	}

	public void setFinalState(Long finalState) {
		this.finalState = finalState;
	}

	public Long getFinanceId() {
		return financeId;
	}

	public void setFinanceId(Long financeId) {
		this.financeId = financeId;
	}

	public Long getEnterpriseId() {
		return enterpriseId;
	}

	public void setEnterpriseId(Long enterpriseId) {
		this.enterpriseId = enterpriseId;
	}

	public String getEnterpriseName() {
		return enterpriseName;
	}

	public void setEnterpriseName(String enterpriseName) {
		this.enterpriseName = enterpriseName;
	}

	public BigDecimal getCreditQuota() {
		return creditQuota;
	}

	public void setCreditQuota(BigDecimal creditQuota) {
		this.creditQuota = creditQuota;
	}

	public BigDecimal getCreditQuotaConsume() {
		return creditQuotaConsume;
	}

	public void setCreditQuotaConsume(BigDecimal creditQuotaConsume) {
		this.creditQuotaConsume = creditQuotaConsume;
	}

	public BigDecimal getApplicationAmount() {
		return applicationAmount;
	}

	public void setApplicationAmount(BigDecimal applicationAmount) {
		this.applicationAmount = applicationAmount;
	}

	public BigDecimal getFinanceAmount() {
		return financeAmount;
	}

	public void setFinanceAmount(BigDecimal financeAmount) {
		this.financeAmount = financeAmount;
	}

	public BigDecimal getInterest() {
		return interest;
	}

	public void setInterest(BigDecimal interest) {
		this.interest = interest;
	}

	public Integer getFinanceDays() {
		return financeDays;
	}

	public void setFinanceDays(Integer financeDays) {
		this.financeDays = financeDays;
	}

	public BigDecimal getBail() {
		return bail;
	}

	public void setBail(BigDecimal bail) {
		this.bail = bail;
	}

	public String getFinanceNumber() {
		return financeNumber;
	}

	public void setFinanceNumber(String financeNumber) {
		this.financeNumber = financeNumber;
	}

	public String getAuditNumber() {
		return auditNumber;
	}

	public void setAuditNumber(String auditNumber) {
		this.auditNumber = auditNumber;
	}

	public Long getBulkstockCategoryId() {
		return bulkstockCategoryId;
	}

	public void setBulkstockCategoryId(Long bulkstockCategoryId) {
		this.bulkstockCategoryId = bulkstockCategoryId;
	}

	public String getBulkstockCategory() {
		return bulkstockCategory;
	}

	public void setBulkstockCategory(String bulkstockCategory) {
		this.bulkstockCategory = bulkstockCategory;
	}


	public List<FinanceBulkstock> getBulkstocks() {
		return bulkstocks;
	}

	public void setBulkstocks(List<FinanceBulkstock> bulkstocks) {
		this.bulkstocks = bulkstocks;
	}

	public BigDecimal getOpenQuota() {
		return openQuota;
	}

	public void setOpenQuota(BigDecimal openQuota) {
		this.openQuota = openQuota;
	}

	public String getSuperviseCharge() {
		return superviseCharge;
	}

	public void setSuperviseCharge(String superviseCharge) {
		this.superviseCharge = superviseCharge;
	}

	public BigDecimal getEstimateCost() {
		return estimateCost;
	}

	public void setEstimateCost(BigDecimal estimateCost) {
		this.estimateCost = estimateCost;
	}

	public BigDecimal getEstimateIncome() {
		return estimateIncome;
	}

	public void setEstimateIncome(BigDecimal estimateIncome) {
		this.estimateIncome = estimateIncome;
	}

	public BigDecimal getEstimateProfit() {
		return estimateProfit;
	}

	public void setEstimateProfit(BigDecimal estimateProfit) {
		this.estimateProfit = estimateProfit;
	}

	public BigDecimal getPledgeRate() {
		return pledgeRate;
	}

	public void setPledgeRate(BigDecimal pledgeRate) {
		this.pledgeRate = pledgeRate;
	}

	public Long[] getBulkstockIds() {
		return bulkstockIds;
	}

	public void setBulkstockIds(Long[] bulkstockIds) {
		this.bulkstockIds = bulkstockIds;
	}

	public BigDecimal[] getEvaluatePrice() {
		return evaluatePrice;
	}

	public void setEvaluatePrice(BigDecimal[] evaluatePrice) {
		this.evaluatePrice = evaluatePrice;
	}

	public BigDecimal[] getLowestPrice() {
		return lowestPrice;
	}

	public void setLowestPrice(BigDecimal[] lowestPrice) {
		this.lowestPrice = lowestPrice;
	}

	public BigDecimal[] getHighestPrice() {
		return highestPrice;
	}

	public void setHighestPrice(BigDecimal[] highestPrice) {
		this.highestPrice = highestPrice;
	}

	public Long[] getFinanceProductInterestItemId() {
		return financeProductInterestItemId;
	}

	public void setFinanceProductInterestItemId(Long[] financeProductInterestItemId) {
		this.financeProductInterestItemId = financeProductInterestItemId;
	}

	public String[] getFinanceProductInterestItemName() {
		return financeProductInterestItemName;
	}

	public void setFinanceProductInterestItemName(
			String[] financeProductInterestItemName) {
		this.financeProductInterestItemName = financeProductInterestItemName;
	}

	public Integer[] getBillingType() {
		return billingType;
	}

	public void setBillingType(Integer[] billingType) {
		this.billingType = billingType;
	}

	public BigDecimal[] getInterestRate() {
		return interestRate;
	}

	public void setInterestRate(BigDecimal[] interestRate) {
		this.interestRate = interestRate;
	}

	public Integer[] getStartDay() {
		return startDay;
	}

	public void setStartDay(Integer[] startDay) {
		this.startDay = startDay;
	}

	public Integer[] getEndDay() {
		return endDay;
	}

	public void setEndDay(Integer[] endDay) {
		this.endDay = endDay;
	}
	
	
}
